﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Core.Module.Interfaces;
using Core.Module.Interfaces.Controller;
using Core.Module.Interfaces.Manager;
using Microsoft.Practices.Unity;
using Core.Module.Interfaces.Model;

namespace Module.MultiSiteFields.Controllers
{
    public class MediaController:INodeController<IBackOffice>
    {
        [Dependency("media")]
        public INodeManager<IBackOffice> Manager { get; set; }

        public IModuleNode Get(string nodeId)
        {
            int nid;
            if (!int.TryParse(nodeId, out nid) || nid < -1) return null;
            return Manager.Get(nid);
        }

        public IModuleNode Get(IModuleNode sourceNode, string sourceProperty)
        {
            throw new NotImplementedException();
        }

        public IEnumerable<IModuleNode> GetChildren(string parentId)
        {
            throw new NotImplementedException();
        }

        public IEnumerable<IModuleNode> GetChildren(string parentId, string nodeTypeName)
        {
            throw new NotImplementedException();
        }

        public IModuleNode GetChild(string parentId, string nodeTypeName)
        {
            throw new NotImplementedException();
        }

        public object GetPropertyValue(IModuleNode node, string propertyName)
        {
            throw new NotImplementedException();
        }

        public IModuleNode GetPropertyAsNode(IModuleNode node, string propertyName)
        {
            throw new NotImplementedException();
        }

        public IEnumerable<KeyValuePair<string, string>> GetProperties(IModuleNode node)
        {
            throw new NotImplementedException();
        }
    }
}
